#pragma once
#include "VertexData.h"

namespace Graphics{
	class VertexBuffer{
	public:
		VertexBuffer(VertexDataPtr verts, RenderContext* handle){
			if(!verts){
				LOG_ERROR("VertexBuffer - Invalid initialization data passed to vertexbuffer.");
				assert(0);
			}

			m_vertCount = verts->m_numVerts;
		}

		virtual ~VertexBuffer(){}

		virtual void setBuffer(void* context) = 0;
		unsigned int getVertCount() { return m_vertCount; }
	private:
		unsigned int m_inputLayoutId;
		unsigned int m_vertCount;
	};

	typedef boost::shared_ptr<VertexBuffer> VertexBufferPtr;
}